//
//  ZLItemReuseStackView.h
//  ZLCocoaKit_Example
//
//  Created by Dev on 2024/12/5.
//  Copyright © 2024 itzhaolei. All rights reserved.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface ZLItemReuseStackView<T: UIView *> : UIStackView

/// 显示的视图数量 (子元素 hidden=false 的数量)
@property (nonatomic, unsafe_unretained) NSInteger viewCount;

/// 设置元素 - 不需要变动数据
/// - Parameters:
///   - itemCount: 元素数量
///   - init: 初始化时执行
- (void)setItemCount:(NSInteger)itemCount init:(T (^)(NSInteger index))init;


/// 设置元素 - 需要变动数据
/// - Parameters:
///   - count: 元素数量
///   - init: 初始化时执行
///   - fillData: 根据索引，给对应元素灌入数据
- (void)setItemCount:(NSInteger)itemCount init:(T (^)(NSInteger index))init fillData:(void(^ _Nullable)(T view, NSInteger index))fillData;

@end

NS_ASSUME_NONNULL_END
